package org.me.data.impl;

import java.util.List;
import java.util.Map;
import org.me.data.GenericDaoJdbc;
import org.springframework.jdbc.core.simple.ParameterizedBeanPropertyRowMapper;

import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;

public class GenericDaoJdbcImpl extends SimpleJdbcDaoSupport implements GenericDaoJdbc{
   
    @Override
    public void update(String sql, Map parameters) {
       /*this.getSimpleJdbcTemplate().u(CIUDAD_UPDATE, ciudad.getId_ciudad(), ciudad.getNom_ciudad(), ciudad.getNum_habitantes(),
               ciudad.getId_pais());*/
        this.getSimpleJdbcTemplate().update(sql, parameters);          
    }

    @Override
    public <T> T findById(String sql, Class<T> tipoClaseRetorno, Short id) {
       return this.getSimpleJdbcTemplate().queryForObject(sql, tipoClaseRetorno, id);  
    }
    
    @Override
    public <T> List<T> find(Class<T> domainClass, String sql, Map parameters) {
        return this.getSimpleJdbcTemplate().query(sql, ParameterizedBeanPropertyRowMapper.newInstance(domainClass), parameters);        
    }    
     
    @Override
    public <T> T find2(Class<T> tipoClaseRetorno, String sql, Map parameters) {
        return this.getSimpleJdbcTemplate().queryForObject(sql, tipoClaseRetorno, parameters);         
    }
  
    
}
